** Mark D. Ramirez and Reed M. Wood
** Do File 
** Authoritarian Opposition? Authoritarian Disposition and Resistance to Public Health Mitigation Strategies during COVID-19
** Political Research Quarterly (Forthcoming) 

** Set WD
use "PRQ_AUTH_WSS.dta"

** Add weights 
svyset _n [pweight=weight], vce(linearized) singleunit(missing)
 
** White respondents 
keep if race==1


** Protest model
svy: probit protest authoritarian science social_media pid3 ideo3 educ age gender pew_bornagain pew_churatd religpew urban i.inputstate
estimates store model4
margin, dydx(*)

margins, at(authoritarian=(0 1) science=(0) pid3=(1)) atmeans vsquish
margins, at(authoritarian=(0 1) science=(1) pid3=(0)) atmeans vsquish

** Figure 1; Panel 1
set scheme s1mono
coefplot (model4, label(Western States) pstyle(p1)) ///
		 , keep(authoritarian science social_media pid3 ideo3 educ age gender pew_bornagain pew_churatd religpew urban) xline(0) title("Protest Involvement")  

gr combine Protest1.gph WSS_Protest.gph

** Masking model 
svy: probit mask authoritarian science social_media pid3 ideo3 educ age gender pew_bornagain pew_churatd religpew urban i.inputstate
estimates store model1
margin, dydx(*)
margins, at(authoritarian=(0 1) science=(0) pid3=(1)) atmeans vsquish
margins, at(authoritarian=(0 1) science=(1) pid3=(0)) atmeans vsquish

** Physical distancing model
svy: probit sixfeet authoritarian science social_media pid3 ideo3 educ age gender pew_bornagain pew_churatd religpew urban i.inputstate
estimates store model2
margin, dydx(*)
margins, at(authoritarian=(0 1) science=(0) pid3=(1)) atmeans vsquish
margins, at(authoritarian=(0 1) science=(1) pid3=(0)) atmeans vsquish

** Quarantine model
svy: probit quarantine authoritarian science social_media pid3 ideo3 educ age gender pew_bornagain pew_churatd religpew urban i.inputstate
estimates store model3
margin, dydx(*)
margins, at(authoritarian=(0 1) science=(0) pid3=(1)) atmeans vsquish
margins, at(authoritarian=(0 1) science=(1) pid3=(0)) atmeans vsquish

** Figure 2
coefplot model1, bylabel(Masking) ///
		|| model2, bylabel(Social distancing)  ///
		|| model3, bylabel(Quarantine)  ///
		||, keep(authoritarian science social_media pid3 ideo3 educ age gender pew_bornagain pew_churatd religpew urban) xline(0) byopts(rows(1))


** Ideology interactions
svy: probit mask c.authoritarian##i.lib_con science social_media pid7 educ age gender pew_bornagain pew_churatd religpew urban i.inputstate
estimates store model2b
quietly margins lib_con, at(authoritarian=(0 .25 .5 .75 1)) level(90)
marginsplot

svy: probit sixfeet c.authoritarian##i.lib_con science social_media pid7 educ age gender pew_bornagain pew_churatd religpew urban i.inputstate
estimates store model3b
quietly margins lib_con, at(authoritarian=(0 .25 .5 .75 1)) level(90)
marginsplot

svy: probit quarantine c.authoritarian##i.lib_con science social_media pid7 educ age gender pew_bornagain pew_churatd religpew urban i.inputstate
estimates store model4b
quietly margins lib_con, at(authoritarian=(0 .25 .5 .75 1)) level(90)
marginsplot

svy: probit protest c.authoritarian##i.lib_con science social_media pid7 educ age gender pew_bornagain pew_churatd religpew urban i.inputstate
estimates store model1b
quietly margins lib_con, at(authoritarian=(0 .25 .5 .75 1)) level(90)
marginsplot

** Figure 3
gr combine protest.gph mask.gph sixfeet.gph quarantine.gph , iscale(.5)



